﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace FlyingCircusWebIS.Models
{
    public interface ICupomService
    {
        List<ValidationResult> ValidarEntidade(Cupom entidade, bool edicao);

        List<ValidationResult> ValidaAtualizar(Cupom entidade);

        void Atualizar(Cupom entidade);

        List<ValidationResult> ValidaAdicionar(Cupom entidade);

        void Adicionar(Cupom entidade);

        List<Cupom> Listar();

        List<Cupom> ListarAtivos();

        Cupom BuscarPorCodCupom(string codigo);

        Cupom BuscarPorCodCupomAtivo(string codigo);

        Cupom BuscarPorNome(string nome);

        Cupom BuscarPorNomeAtivo(string nome);

        List<ValidationResult> ValidaRemoverPorCodCupom(string codigo);

        void RemoverPorCodCupom(string codigo);

        void DesativarPorCodCupom(string codigo);

        void AtivarPorCodCupom(string codigo);

        List<Cupom> ListarFiltro(string nome, string ativo);
    }
}
